package hardwareShop.local.persistence;

import hardwareShop.local.valueobjects.Artikel;
import hardwareShop.local.valueobjects.Benutzer;
import hardwareShop.local.valueobjects.Quittung;

import java.io.IOException;


public interface PersistenceManager {
	public void openForReading(String  filename) throws IOException;
	public void openForWriting(String filename) throws IOException;
	
	public void closeIn() throws IOException;
	public void closeOut() throws IOException;
	
	public Artikel loadArtikel() throws IOException, ClassNotFoundException;
	public void saveArtikel(Artikel artikel) throws IOException;
	
	public Benutzer loadBenutzer() throws IOException, ClassNotFoundException;
	public void saveBenutzer(Benutzer benutzer) throws IOException;
	
	public Quittung loadQuittung() throws IOException, ClassNotFoundException;
	public void saveQuittung(Quittung quittung) throws IOException;
	
	//Strings speichern
	public void openForWritingPieces(String datei) throws IOException;
	public void openForReadingPieces(String datei) throws IOException;
	public boolean close();
	public Artikel ladeArtikel() throws IOException;
	public void speichereArtikel(Artikel einArtikel) throws IOException;
	public Benutzer ladeBenutzer() throws IOException;
	public void speichereBenutzer(Benutzer einBenutzer) throws IOException;
	public Benutzer ladeBenutzerKunde() throws IOException;
	public void speichereBenutzerKunde(Benutzer einBenutzer) throws IOException;
}
